package com.cskaoyan.javase.string.api3.compare5;

/**
 * @description: String的比较功能
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * String类的比较功能
 * int compareTo(String str)
 * 区分大小写去比较
 * int compareToIgnoreCase(String str)
 * 不区分大小写比较
 *
 * >  字符串的大小如何比较？
 * >        按照字典序，比较字符串的大小。字典序原本的含义实质，英文单词在字典中出现的先后顺序
 * >       (在字典中，先出现的字符串小，后出现的字符串大)
 * >
 * >  具体到编程语言，是根据两个字符串字符串从左往右数
 * >  ​	第一个对应位置的不同字符，来决定两字符串的大小
 * >  ​        hello
 * >  ​        head
 *  分别获取l a的编码值 然后比较 ASCII码 显然l的编码值 比 a大
 *  于是我们就说hello 比 head大
 * >  ​      compareTo几乎就是按照字典序，来比较两个字符串大小的
 * >
 * >  ​       字符串对象.compareTo(字符串对象)
 * >
 * >  compareTo方法返回值，如果是=0则表示对象相等，>0则表示左边对象大于右边对象
 * >
 * >  <0则表示右边对象大于左边对象
 *
 * 这个东西比较常用于算法当中
 */
public class Demo {
    public static void main(String[] args) {
        String s1 = "hello";
        String s2 = "head";
        System.out.println(s1.compareTo(s2)); //当返回一个正数的时候 代表s1比s2大

        System.out.println("hello".compareTo("hello"));
        System.out.println("hella".compareTo("hello"));
    }
}
